/**
 * 
 */
package org.hotpotmaterial.codegenn2.template;

import java.util.Map;

/**
 * 所有模板代码生成器都需要实现该接口
 * 
 * @author cakydeveloper
 *
 */
public interface CodeGenerateExcutor {
	
	// 插件属性唯一标志(不可修改)
	public static final String pluginNameKey = "plugin-name";
	
	/**
	 * 根据渲染参数生成源码文件
	 * @param renderParams
	 */
	public String codeGenerateExcuting(String traceId, Map<String, String> renderParams);
	
	/**
	 * 获取源文件名称及路径列表
	 * @return
	 */
	public Map<String, String> getSourceFilePathList();
	
	/**
	 * 获取属性
	 * @return
	 */
	public Map<String, String> getProperties();

}
